use "/Users/jg74853/Desktop/ZB - Confidence Book/Data/Final Wave 2 Survey/Wave 2 (Pooled).dta"

***Define Variables***
replace Q11 =. if Q11 == 98
generate Q11T =.
replace Q11T = 0 if Q11 > 2
replace Q11T = 1 if Q11 < 3
replace Q11T =. if Q11 ==.

label define Confidence 0 "Not Confident" 1 "Confident"
label values Q11T Confidence

generate Q11H =.
replace Q11H = 0 if Q11 > 1
replace Q11H = 1 if Q11 == 1

generate PID3 =.
replace PID3 = 1 if PARTYID < 4
replace PID3 = 2 if PARTYID == 4
replace PID3 = 3 if PARTYID > 4 & PARTYID < 8

label define PID3 1 "Dem" 2 "Ind" 3 "Rep"
label values PID3 PID3

gen DEM = 0 if PID3 < 4
replace DEM = 1 if PID3 == 1
gen REP = 0 if PID3 < 4
replace REP = 1 if PID3 == 3
gen IND = 0 if PID3 < 4
replace IND = 1 if PID3 == 2

replace IDEO =. if IDEO == 98

gen IDEO3 = .
replace IDEO3 = 1 if IDEO < 4
replace IDEO3 = 2 if IDEO == 4
replace IDEO3 = 3 if IDEO > 4 & IDEO < 8

gen IDEO3a = IDEO3
replace IDEO3a = 4 if IDEO == 8

gen LIB = 0
replace LIB = 1 if IDEO3 == 1
gen MOD = 0
replace MOD = 1 if IDEO3 == 2
gen CON = 0
replace CON = 1 if IDEO3 == 3

gen MALE = 0
replace MALE = 1 if GENDER == 1

gen VET = VETERAN if VETERAN < 98
replace VET = 0 if VETERAN == 2
replace VET = 0 if VETERAN2 == 1
replace VET = . if VETERAN2 == 98


gen ACTIVEDUTY = 0 if VETERAN < 98
replace ACTIVEDUTY = . if VETERAN2 == 98
replace ACTIVEDUTY = 1 if VETERAN2 == 1

generate FAMILY = 0 if Q39 < 77
replace FAMILY = 1 if Q39 == 1

gen SOCIAL = 0 if Q38 < 98
replace SOCIAL = 1 if Q38 == 1

generate religion = 0 if RELIG < 98
replace religion = 1 if RELIG == 1
replace religion = 1 if RELIG == 3
replace religion = 1 if RELIG == 4
replace religion = 1 if RELIG == 12
replace religion = 2 if RELIG == 2
replace religion = 3 if RELIG > 8 & RELIG < 12
label define RELIGION2 0 "Other" 1 "Christian" 2 "Catholic" 3 "None"
label values religion RELIGION2

generate christian = 0
replace christian = 1 if religion == 1
generate catholic = 0
replace catholic = 1 if religion == 2
generate norelig = 0
replace norelig = 1 if religion == 3

generate white = 0
replace white = 1 if RACE == 1
generate black = 0
replace black = 1 if RACE == 2
generate hispanic = 0
replace hispanic = 1 if RACE == 4
generate asian = 0
replace asian = 1 if RACE == 6

gen RACE2 = RACE if RACETHNICITY < 77

label define RACE 1 "White" 2 "Black" 4 "Hispanic" 6 "Asian"
label values RACE2 RACE

generate generation =.
replace generation = 1 if AGE > 73
replace generation = 2 if AGE > 54 & AGE < 74
replace generation = 3 if AGE > 38 & AGE < 55
replace generation = 4 if AGE > 22 & AGE < 39
replace generation = 5 if AGE < 23

label define GENERATION 1 "Silent" 2 "Boomer" 3 "Gen X" 4 "Millennial" 5 "Gen Z"
label values generation GENERATION

generate silent = 0
replace silent = 1 if generation == 1
generate boomer = 0
replace boomer = 1 if generation == 2
generate genx = 0
replace genx = 1 if generation == 3
generate milen = 0
replace milen = 1 if generation == 4
generate genz = 0
replace genz = 1 if generation == 5

gen midwest = 0
replace midwest = 1 if REGION4 == 2
gen south = 0
replace south = 1 if REGION4 == 3
gen west = 0
replace west = 1 if REGION4 == 4

replace URBAN3 =. if URBAN3 < 1
generate city = 0
replace city = 1 if URBAN3 == 1
generate rural = 0
replace rural = 1 if URBAN3 == 3

generate unemployed = 0 if EMPLOY < 3  
replace unemployed = 1 if EMPLOY > 2
replace unemployed = 0 if EMPLOY == 5

generate INCOME5 =.
replace INCOME5 = 1 if INCOME < 5
replace INCOME5 = 2 if INCOME > 4 & INCOME < 9
replace INCOME5 = 3 if INCOME > 8 & INCOME < 12
replace INCOME5 = 4 if INCOME > 11 & INCOME < 15
replace INCOME5 = 5 if INCOME > 14

gen married =.
replace married = 1 if MARITAL == 1
replace married = 0 if MARITAL > 1

gen EDUC3 = . if EDUC5 > 5
replace EDUC3 = 1 if EDUC5 < 3
replace EDUC3 = 2 if EDUC5 == 3
replace EDUC3 = 2 if EDUC5 == 4
replace EDUC3 = 3 if EDUC5 == 5

replace Q14 =. if Q14 > 76
replace Q15 =. if Q15 > 76
replace Q16 =. if Q16 > 76

generate Q14T = 0 if Q14 > 2
replace Q14T = 1 if Q14 < 3

generate Q15T = 0 if Q15 > 2
replace Q15T = 1 if Q15 < 3

generate Q16T = 0 if Q16 > 2
replace Q16T = 1 if Q16 < 3

gen d2 = 0
gen d3 = 0
gen d4 = 0
gen d5 = 0
gen d6 = 0
gen d7 = 0
gen d8 = 0

replace d2 = 1 if P_ASSIGN1 == 2
replace d3 = 1 if P_ASSIGN1 == 3
replace d4 = 1 if P_ASSIGN1 == 4
replace d5 = 1 if P_ASSIGN1 == 5
replace d6 = 1 if P_ASSIGN1 == 6
replace d7 = 1 if P_ASSIGN1 == 7
replace d8 = 1 if P_ASSIGN1 == 8

replace Q41 =. if Q41 > 4
generate Q41T =.
replace Q41T = 0 if Q41 > 2 & Q41 < 5
replace Q41T = 1 if Q41 < 3

gen EDUC4 = EDUC5
replace EDUC4 = 4 if EDUC5 == 5

xi I.DEM*EDUC5 I.REP*EDUC5 I.DEM*EDUC4 I.REP*EDUC4, prefix(_I)

replace Q37 =. if Q37 == 98
replace Q38 =. if Q38 == 98
replace Q39 =. if Q39 == 98

gen Q39AA = .
replace Q39AA = 1 if Q39A_1 == 1
replace Q39AA = 2 if Q39A_2 == 1
replace Q39AA = 3 if Q39A_3 == 1
replace Q39AA = 4 if Q39A_4 == 1
replace Q39AA = 5 if Q39A_5 == 1
replace Q39AA = 6 if Q39A_6 == 1

gen Q39FAM = 0 if Q39 < 98
replace Q39FAM = 1 if Q39BA == 1
replace Q39FAM = 2 if Q39BA == 2
replace Q39FAM = 3 if Q39BA == 3
replace Q39FAM = . if Q39BA == 77
replace Q39FAM = 1 if Q39BB == 1
replace Q39FAM = 2 if Q39BB == 2
replace Q39FAM = 3 if Q39BB == 3
replace Q39FAM = . if Q39BB == 77
replace Q39FAM = 1 if Q39BC == 1
replace Q39FAM = 2 if Q39BC == 2
replace Q39FAM = 3 if Q39BC == 3
replace Q39FAM = . if Q39BC == 77
replace Q39FAM = 1 if Q39BD == 1
replace Q39FAM = 2 if Q39BD == 2
replace Q39FAM = 3 if Q39BD == 3
replace Q39FAM = . if Q39BD == 77
replace Q39FAM = 1 if Q39BE == 1
replace Q39FAM = 2 if Q39BE == 2
replace Q39FAM = 3 if Q39BE == 3
replace Q39FAM = . if Q39BE == 77
replace Q39FAM = 1 if Q39BF == 1
replace Q39FAM = 2 if Q39BF == 2
replace Q39FAM = 3 if Q39BF == 3
replace Q39FAM = . if Q39BF == 77

gen Q39FAM1 = 0 if Q39FAM < 4
replace Q39FAM1 = 1 if Q39 == 1

gen Q39FAMpre = 0 if Q39FAM < 4
replace Q39FAMpre = 1 if Q39FAM == 1
gen Q39FAMpost = 0 if Q39FAM < 4
replace Q39FAMpost = 1 if Q39FAM == 2
gen Q39FAMboth = 0 if Q39FAM < 4
replace Q39FAMboth = 0 if Q39FAM == 2
replace Q39FAMboth = 1 if Q39FAM == 3

gen Q39FAM2pre = 0 if Q39FAM < 4
replace Q39FAM2pre = 1 if Q39FAM == 1
gen Q39FAM2post = 0 if Q39FAM < 4
replace Q39FAM2post = 1 if Q39FAMpost == 1
replace Q39FAM2post = 1 if Q39FAMboth == 1

gen Q17A3 = Q17A if Q17A < 4

gen Q17AR = 0 if Q17A3 < 4
replace Q17AR = 1 if Q17A3 == 2

gen Q17AREP = Q17AR
replace Q17AREP = 0 if Q17B == 1
replace Q17AREP = 0 if Q17B == 3
replace Q17AREP = 1 if Q17B == 2

gen Q7T = 0 if Q7 < 77
replace Q7T = 1 if Q7 < 3
replace Q7T = . if DOV_INST ==.

gen Q8A2 = 0 if Q8A < 77
replace Q8A2 = 1 if Q8A < 3
gen Q8B2 = 0 if Q8B < 77
replace Q8B2 = 1 if Q8B < 3
gen Q8C2 = 0 if Q8C < 77
replace Q8C2 = 1 if Q8C < 3
gen Q8D2 = 0 if Q8D < 77
replace Q8D2 = 1 if Q8D < 3
gen Q8E2 = 0 if Q8E < 77
replace Q8E2 = 1 if Q8E < 3
gen Q8F2 = 0 if Q8F < 77
replace Q8F2 = 1 if Q8F < 3
gen Q8G2 = 0 if Q8G < 77
replace Q8G2 = 1 if Q8G < 3
gen Q8H2 = 0 if Q8H < 77
replace Q8H2 = 1 if Q8H < 3

gen INSTITUTION = 0
replace INSTITUTION = 1 in 1/4510
replace INSTITUTION = 1 in 9021/9576

gen PROFESSION = 0
replace PROFESSION = 1 in 4511/9576

gen CDC = 0
replace CDC = 1 if DOV_INST == 1
gen State = 0
replace State = 1 if DOV_INST == 2
gen IRS = 0
replace IRS = 1 if DOV_INST == 3
gen USPS = 0
replace USPS = 1 if DOV_INST == 4
gen MIL = 0
replace MIL = 1 if DOV_INST == 10
gen SCI = 0
replace SCI = 1 if DOV_INST == 11
gen DOC = 0
replace DOC = 1 if DOV_INST == 12
gen POL = 0
replace POL = 1 if DOV_INST == 13
gen TEA = 0
replace TEA = 1 if DOV_INST == 14


********************

********************
*****Table 4.2 & 4.3*****
by DOV_INST, sort: tab PID3 Q7T [aweight=weight2], row

*****Table 4.6*****
graph bar (mean) Q8A2 [pweight = weight2], over(DOV_INST, label(angle(vertical) labsize(vsmall))) bar(1, fcolor(gs6)) blabel(bar, color(black) size(vsmall) format(%3.2f)) ytitle(% Too Partisan) ytitle(, size(small)) yscale(range(0 1)) ylabel(#6) name(party, replace) graphregion(fcolor(white) lcolor(white) lwidth(thin) lalign(outside) ifcolor(none) ilcolor(none)) plotregion(fcolor(white) lcolor(black) lpattern(solid) lalign(outside) ifcolor(none))

graph bar (mean) Q8B2 [pweight = weight2], over(DOV_INST, label(angle(vertical) labsize(vsmall))) bar(1, fcolor(gs6)) blabel(bar, color(black) size(vsmall) format(%3.2f)) ytitle(% Good at Job) ytitle(, size(small)) yscale(range(0 1)) ylabel(#6) name(good, replace) graphregion(fcolor(white) lcolor(white) lwidth(thin) lalign(outside) ifcolor(none) ilcolor(none)) plotregion(fcolor(white) lcolor(black) lpattern(solid) lalign(outside) ifcolor(none))

graph bar (mean) Q8C2 [pweight = weight2], over(DOV_INST, label(angle(vertical) labsize(vsmall))) bar(1, fcolor(gs6)) blabel(bar, color(black) size(vsmall) format(%3.2f)) ytitle(% Representative of America) ytitle(, size(small)) yscale(range(0 1)) ylabel(#6) name(diverse, replace) graphregion(fcolor(white) lcolor(white) lwidth(thin) lalign(outside) ifcolor(none) ilcolor(none)) plotregion(fcolor(white) lcolor(black) lpattern(solid) lalign(outside) ifcolor(none))

graph bar (mean) Q8D2 [pweight = weight2], over(DOV_INST, label(angle(vertical) labsize(vsmall))) bar(1, fcolor(gs6)) blabel(bar, color(black) size(vsmall) format(%3.2f)) ytitle(% Highest Professional Ethics) ytitle(, size(small)) yscale(range(0 1)) ylabel(#6) name(ethical, replace) graphregion(fcolor(white) lcolor(white) lwidth(thin) lalign(outside) ifcolor(none) ilcolor(none)) plotregion(fcolor(white) lcolor(black) lpattern(solid) lalign(outside) ifcolor(none))

graph bar (mean) Q8E2 [pweight = weight2], over(DOV_INST, label(angle(vertical) labsize(vsmall))) bar(1, fcolor(gs6)) blabel(bar, color(black) size(vsmall) format(%3.2f)) ytitle(% Truthful) ytitle(, size(small)) yscale(range(0 1)) ylabel(#6) name(truthful, replace) graphregion(fcolor(white) lcolor(white) lwidth(thin) lalign(outside) ifcolor(none) ilcolor(none)) plotregion(fcolor(white) lcolor(black) lpattern(solid) lalign(outside) ifcolor(none))

graph bar (mean) Q8F2 [pweight = weight2], over(DOV_INST, label(angle(vertical) labsize(vsmall))) bar(1, fcolor(gs6)) blabel(bar, color(black) size(vsmall) format(%3.2f)) ytitle(% Shares My Values) ytitle(, size(small)) yscale(range(0 1)) ylabel(#6) name(shares_values, replace) graphregion(fcolor(white) lcolor(white) lwidth(thin) lalign(outside) ifcolor(none) ilcolor(none)) plotregion(fcolor(white) lcolor(black) lpattern(solid) lalign(outside) ifcolor(none))

graph combine party good diverse ethical truthful shares_values, name(first, replace)

*****Figure 4.7*****
graph bar (mean) Q8G2 [pweight = weight2], over(DOV_INST, label(angle(vertical) labsize(vsmall))) bar(1, fcolor(gs6)) blabel(bar, color(black) size(vsmall) format(%3.2f)) ytitle(% Others Have Confidence) ytitle(, size(small)) yscale(range(0 1)) ylabel(#6) name(respected, replace) graphregion(fcolor(white) lcolor(white) lwidth(thin) lalign(outside) ifcolor(none) ilcolor(none)) plotregion(fcolor(white) lcolor(black) lpattern(solid) lalign(outside) ifcolor(none))

graph bar (mean) Q8H2 [pweight = weight2], over(DOV_INST, label(angle(vertical) labsize(vsmall))) bar(1, fcolor(gs6)) blabel(bar, color(black) size(vsmall) format(%3.2f)) ytitle(% Knowledgeable) ytitle(, size(small)) yscale(range(0 1)) ylabel(#6) name(knowledgeable, replace) graphregion(fcolor(white) lcolor(white) lwidth(thin) lalign(outside) ifcolor(none) ilcolor(none)) plotregion(fcolor(white) lcolor(black) lpattern(solid) lalign(outside) ifcolor(none))

graph combine respected knowledgeable, name(second, replace)

*****Figure 4.8*****

pca Q8A2 Q8B2 Q8C2 Q8D2 Q8E2 Q8F2 Q8G2 Q8H2 [aweight=weight2]
loadingplot, mlabsize(6-pt) yscale(range(-0.5 1))

gen Q8A2R = Q8A2
recode Q8A2R (0=1)(1=0)

pca Q8A2R Q8B2 Q8C2 Q8D2 Q8E2 Q8F2 Q8H2 [aweight=weight2]
labloadingplot, mlabsize(6-pt) yscale(range(-0.5 1))

*****Figure 4.9*****
logit Q7T Q8A2 Q8B2 Q8C2 Q8D2 Q8E2 Q8F2 Q8G2 DEM REP IDEO3 MALE ACTIVEDUTY VET FAMILY SOCIAL catholic christian norelig white black hispanic asian EDUC5 boomer genx milen genz midwest south west city rural unemployed INCOME5 married [pweight = weight2]
coefplot, drop (_cons) xline(0) xscale(range(-2 2)) xlabel(#7) name (overall, replace)

logit Q7T Q8A2 Q8B2 Q8C2 Q8D2 Q8E2 Q8F2 Q8G2 DEM REP IDEO3 MALE ACTIVEDUTY VET FAMILY SOCIAL catholic christian norelig white black hispanic asian EDUC5 boomer genx milen genz midwest south west city rural unemployed INCOME5 married [pweight = weight2] if INSTITUTION == 1
coefplot, drop (_cons) xline(0) xscale(range(-2 2)) xlabel(#7) name (fig49B, replace)

logit Q7T Q8A2 Q8B2 Q8C2 Q8D2 Q8E2 Q8F2 Q8G2 DEM REP IDEO3 MALE ACTIVEDUTY VET FAMILY SOCIAL catholic christian norelig white black hispanic asian EDUC5 boomer genx milen genz midwest south west city rural unemployed INCOME5 married [pweight = weight2] if PROFESSION == 1
coefplot, drop (_cons) xline(0) xscale(range(-2 2)) xlabel(#7) name (fig49C, replace)

graph combine fig49B fig49C, name(fig49w2, replace) rows(1)

graph combine fig49A fig49B fig49C, name(fig49, replace) rows(1)
